export function createFlie(path,data) {
  return new Promise(resolve => {//这里封装了个是一个promise异步请求
    // plus.io.requestFileSystem是请求本地文件系统对象
    plus.io.requestFileSystem(
        plus.io.PUBLIC_DOCUMENTS, // 文件系统中的根目录下的DOCUMENTS目录
        fs => {
            // 创建或打开文件, fs.root是根目录操作对象,直接fs表示当前操作对象
            fs.root.getFile(path+'.json', {
                create: true // 文件不存在则创建
            }, fileEntry => {
                // 文件在手机中的路径
                console.log(fileEntry.fullPath)
                fileEntry.createWriter(writer => {
                    // 写入文件成功完成的回调函数
                    writer.onwrite = e => {
                        console.log("写入本地文件成功");
                        resolve("写入本地文件")
                    };
                    // 写入数据
                    writer.write(JSON.stringify(data));
                })
            }, e => {
                console.log("getFile failed: " + e.message);
            });
        },
        e => {
            console.log(e.message);
        }
    );
  })
}
//查看我们新建的documents目录下的所有文件,或者删除指定文件
export function getFileList(path) {
    return new Promise(resolve => { //文件读写是一个异步请求 用promise包起来方便使用时的async+await
    //  io.dcloud.HBuilder 是真机调试的包名，，
    //"/storage/emulated/0/Android/data/io.dcloud.HBuilder/documents"
    //  如果要进行打包那么就要改成你打包包名，比如我的包名是uni.UNIACE0B00那就改成
    //  "/storage/emulated/0/Android/data/uni.UNIACE0B00/documents"
        plus.io.requestFileSystem(
            "/storage/emulated/0/Android/data/uni.UNIACE0B00/documents", //指定的目录
            function(entry) {
                var directoryReader = entry.createReader(); //获取读取目录对象
                directoryReader.readEntries(
                    function(entries) {
                        resolve(entries)
                        //entries目录是一个数字遍历就能得到文件了，如下
                        // for (var i = 0; i < entries.length; i++) {
                        //  //  　entries[i].remove();  //这是删除指定的文件
                        //  console.log("文件信息：" + entries[i].name);
                        // }
                    },
                    function(err) {
                        uni.showToast({
                            title: "访问目录失败:" + err.message,
                            duration: 2000
                        })
                        console.log("访问目录失败");
                    });
            },
            function(err) {
                // uni.showToast({
                //  title: "访问指定目录失败:" + err.message,
                //  duration: 2000
                // })
                console.log("访问指定目录失败:" + err.message);
            });
    })
}
//查看目录下的某个指定文件
export function getFileData(path) {
    return new Promise(resolve => { //文件读写是一个异步请求 用promise包起来方便使用时的async+await
        plus.io.requestFileSystem(
            plus.io.PUBLIC_DOCUMENTS,
            fs => {
                fs.root.getFile(path + '.json', {
                    create: false
                }, fileEntry => {
                    fileEntry.file((file) => {
                        console.log("文件大小:" + file.size + '-- 文件名:' + file.name);
                        //创建读取文件对象
                        let fileReader = new plus.io.FileReader();
                        //以文本格式读取文件数据内容
                        fileReader.readAsText(file, 'utf-8');
                        //文件读取操作完成时的回调函数
                        fileReader.onloadend = (evt) => {
                            console.log(JSON.parse(evt.target.result),
                                'JSON.parse(evt.target.result)')
                            resolve(JSON.parse(evt.target.result))
                            // sURL = JSON.parse(evt.target.result).URL;

                        }
                    });
                }, e => {
                    console.log("getFile failed: " + e.message);
                });
            },
            e => {
                console.log(e.message);
            }
        );
    })
}